home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.5 Complementary Applications 2004 February / SGI IRIX 6.5 Complementary Applications 2004 February.iso / dist / patchSG0004915.idb / usr / ToolTalk / include / tt_c.h.z / tt_c.h
Encoding:
C/C++ Source or Header  |  2003-08-19  |  28.6 KB  |  759 lines

  1. /*
  2.  * tt_c.h
  3.  *
  4.  * Copyright 2002, Silicon Graphics, Inc.
  5.  * ALL RIGHTS RESERVED
  6.  * 
  7.  * UNPUBLISHED -- Rights reserved under the copyright laws of the United
  8.  * States.   Use of a copyright notice is precautionary only and does not
  9.  * imply publication or disclosure.
  10.  *
  11.  * U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:
  12.  * Use, duplication or disclosure by the Government is subject to restrictions
  13.  * as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights
  14.  * in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or
  15.  * in similar or successor clauses in the FAR, or the DOD or NASA FAR
  16.  * Supplement.  Contractor/manufacturer is Silicon Graphics, Inc.,
  17.  * 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.
  18.  *
  19.  * THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
  20.  * INFORMATION OF SILICON GRAPHICS, INC. ANY DUPLICATION, MODIFICATION,
  21.  * DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS STRICTLY
  22.  * PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SILICON
  23.  * GRAPHICS, INC.
  24.  */
  25. /* $XConsortium: tt_c.h /main/cde1_maint/1 1995/07/17 17:14:50 drk $ */
  26. /* $TOG: tt_c.h /main/8 1999/08/30 12:25:48 mgreess $ */
  27. /*%%  (c) Copyright 1993, 1994 Hewlett-Packard Company             */
  28. /*%%  (c) Copyright 1993, 1994 International Business Machines Corp.     */
  29. /*%%  (c) Copyright 1993, 1994 Sun Microsystems, Inc.             */
  30. /*%%  (c) Copyright 1993, 1994 Novell, Inc.                  */
  31.  
  32. /*
  33.  * ToolTalk 1.4 API C language headers.
  34.  */
  35.  
  36. #ifndef _tt_c_h
  37. #define _tt_c_h
  38.  
  39. #include <stdio.h>
  40.  
  41. /* ToolTalk version - Format:
  42.  *
  43.  * <Major Release #><Minor Release #: 2 digits><Dot Release #: 2 digits>
  44.  *
  45.  * For example:
  46.  *         10100    --> Version  1.1.0
  47.  *        100102    --> Version 10.1.2
  48.  */
  49. #define TT_VERSION 10200
  50.  
  51. #if defined(_EXTERN_) && defined(__STDC__)
  52. #    define _TT_CONST
  53. #    define _TT_EXTERN_FUNC(type,name,list) extern XS_LVAL x##name ()
  54. #else
  55. #if defined(_EXTERN_)
  56. #    define _TT_CONST
  57. #    define _TT_EXTERN_FUNC(type,name,list) extern XS_LVAL x/**/name ()
  58. #else
  59. #if defined(_NAMES_)
  60. #    define _TT_CONST
  61. #    define _TT_EXTERN_FUNC(type,name,list)name
  62. #else
  63. #if defined(_XSCHEME_)
  64. #    define _TT_CONST const
  65. #    define _TT_EXTERN_FUNC(type,name,list)type; name; list
  66. #else
  67. #if defined(__cplusplus)
  68. /* C++ 2.0 or later*/
  69. #    define _TT_CONST const
  70. #    define _TT_EXTERN_FUNC(type,name,list) extern "C" { type name list; }
  71. #else
  72. #if defined(__STDC__) 
  73. /* ANSI C */
  74. #    define _TT_CONST const
  75. #    define _TT_EXTERN_FUNC(type,name,list) type name list;
  76. #else
  77. /* Sun C (K&R C, almost) */
  78. #    define _TT_CONST
  79. #    define _TT_EXTERN_FUNC(type,name,list) type name();
  80. #endif
  81. #endif
  82. #endif
  83. #endif
  84. #endif
  85. #endif
  86.  
  87. #if !defined(_EXTERN_) && !defined(_NAMES_) && !defined(_XSCHEME_) 
  88.  
  89. #if !defined(_XENUMS_) && !defined(_TYPES_)
  90. #include <sys/types.h>
  91. #endif
  92.  
  93. #include <rpc/types.h>
  94. #include <rpc/xdr.h>
  95.  
  96. /* former status 1030 removed, but not used, for backward compatibility. */
  97. typedef enum tt_status {
  98.         TT_OK             = 0,
  99.         TT_WRN_NOTFOUND        = 1,
  100.     TT_WRN_STALE_OBJID    = 2,
  101.         TT_WRN_STOPPED        = 3,
  102.     TT_WRN_SAME_OBJID    = 4,
  103.     TT_WRN_START_MESSAGE    = 5,
  104.     TT_WRN_APPFIRST     = 512,
  105.     TT_WRN_LAST         = 1024,
  106.         TT_ERR_CLASS         = 1025,
  107.         TT_ERR_DBAVAIL         = 1026,
  108.         TT_ERR_DBEXIST        = 1027,
  109.     TT_ERR_FILE        = 1028,
  110.     TT_ERR_INVALID        = 1029,
  111.         TT_ERR_LTYPE            = 1030,
  112.     TT_ERR_MODE        = 1031,
  113.     TT_ERR_ACCESS        = 1032,
  114.         TT_ERR_NOMP        = 1033,
  115.         TT_ERR_NOTHANDLER    = 1034,
  116.         TT_ERR_NUM        = 1035,
  117.         TT_ERR_OBJID        = 1036,
  118.         TT_ERR_OP        = 1037,
  119.         TT_ERR_OTYPE        = 1038,
  120.         TT_ERR_ADDRESS        = 1039,
  121.         TT_ERR_PATH        = 1040,
  122.         TT_ERR_POINTER        = 1041,
  123.         TT_ERR_PROCID        = 1042,
  124.         TT_ERR_PROPLEN        = 1043,
  125.         TT_ERR_PROPNAME        = 1044,
  126.         TT_ERR_PTYPE        = 1045,
  127.         TT_ERR_DISPOSITION    = 1046,
  128.         TT_ERR_SCOPE        = 1047,
  129.         TT_ERR_SESSION        = 1048,
  130.         TT_ERR_VTYPE        = 1049,
  131.     TT_ERR_NO_VALUE        = 1050,
  132.     TT_ERR_INTERNAL        = 1051,
  133.     TT_ERR_READONLY        = 1052,
  134.     TT_ERR_NO_MATCH        = 1053,
  135.     TT_ERR_UNIMP        = 1054,
  136.     TT_ERR_OVERFLOW        = 1055,
  137.     TT_ERR_PTYPE_START    = 1056,
  138.     TT_ERR_CATEGORY        = 1057,
  139.     TT_ERR_DBUPDATE         = 1058,
  140.     TT_ERR_DBFULL           = 1059,
  141.     TT_ERR_DBCONSIST    = 1060,
  142.     TT_ERR_STATE        = 1061,
  143.     TT_ERR_NOMEM        = 1062,
  144.     TT_ERR_SLOTNAME        = 1063,
  145.     TT_ERR_XDR        = 1064,
  146.     TT_ERR_NETFILE        = 1065,
  147.     TT_DESKTOP_        = 1100,
  148.     TT_DESKTOP_EPERM    = 1101,
  149.     TT_DESKTOP_ENOENT    = 1102,
  150.     TT_DESKTOP_EINTR    = 1104,
  151.     TT_DESKTOP_EIO        = 1105,
  152.     TT_DESKTOP_EAGAIN    = 1111,
  153.     TT_DESKTOP_ENOMEM    = 1112,
  154.     TT_DESKTOP_EACCES    = 1113,
  155.     TT_DESKTOP_EFAULT    = 1114,
  156.     TT_DESKTOP_EEXIST    = 1117,
  157.     TT_DESKTOP_ENODEV    = 1119,
  158.     TT_DESKTOP_ENOTDIR    = 1120,
  159.     TT_DESKTOP_EISDIR    = 1121,
  160.     TT_DESKTOP_EINVAL    = 1122,
  161.     TT_DESKTOP_ENFILE    = 1123,
  162.     TT_DESKTOP_EMFILE    = 1124,
  163.     TT_DESKTOP_ETXTBSY    = 1126,
  164.     TT_DESKTOP_EFBIG    = 1127,
  165.     TT_DESKTOP_ENOSPC    = 1128,
  166.     TT_DESKTOP_EROFS    = 1130,
  167.     TT_DESKTOP_EMLINK    = 1131,
  168.     TT_DESKTOP_EPIPE    = 1132,
  169.     TT_DESKTOP_ENOMSG    = 1135,
  170.     TT_DESKTOP_EDEADLK    = 1145,
  171.     TT_DESKTOP_ECANCELED    = 1147,
  172.     TT_DESKTOP_ENOTSUP    = 1148,
  173.     TT_DESKTOP_ENODATA    = 1161,
  174.     TT_DESKTOP_EPROTO    = 1171,
  175.     TT_DESKTOP_ENOTEMPTY    = 1193,
  176.     TT_DESKTOP_ETIMEDOUT    = 1245,
  177.     TT_DESKTOP_EALREADY    = 1249,
  178.     TT_DESKTOP_UNMODIFIED    = 1299,
  179.     TT_MEDIA_ERR_SIZE    = 1300,
  180.     TT_MEDIA_ERR_FORMAT    = 1301,
  181.     TT_AUTHFILE_ACCESS    = 1400,
  182.     TT_AUTHFILE_LOCK    = 1401,
  183.     TT_AUTHFILE_LOCK_TIMEOUT = 1402,
  184.     TT_AUTHFILE_UNLOCK    = 1403,
  185.     TT_AUTHFILE_MISSING    = 1404,
  186.     TT_AUTHFILE_ENTRY_MISSING = 1405,
  187.     TT_AUTHFILE_WRITE    = 1406,
  188.     TT_ERR_APPFIRST        = 1536,
  189.     TT_ERR_LAST         = 2047,
  190.         TT_STATUS_LAST         = 2048} Tt_status;
  191.  
  192.  
  193. typedef enum tt_filter_action {
  194.     TT_FILTER_CONTINUE    = 0, 
  195.     TT_FILTER_STOP        = 1, 
  196.     TT_FILTER_LAST        = 2} Tt_filter_action;
  197.  
  198. typedef enum tt_callback_action {
  199.     TT_CALLBACK_CONTINUE    = 0,
  200.     TT_CALLBACK_PROCESSED    = 1,
  201.     TT_CALLBACK_LAST    = 2} Tt_callback_action;
  202.  
  203. typedef enum tt_mode {
  204.     TT_MODE_UNDEFINED    = 0,
  205.         TT_IN            = 1,
  206.         TT_OUT            = 2,
  207.         TT_INOUT        = 3,
  208.         TT_MODE_LAST        = 4} Tt_mode;
  209.  
  210. typedef enum tt_scope {
  211.     TT_SCOPE_NONE        = 0,
  212.         TT_SESSION        = 1,
  213.         TT_FILE            = 2,
  214.         TT_BOTH            = 3,
  215.     TT_FILE_IN_SESSION    = 4} Tt_scope;
  216.  
  217. typedef enum tt_class {
  218.     TT_CLASS_UNDEFINED    = 0,
  219.         TT_NOTICE        = 1,
  220.         TT_REQUEST        = 2,
  221.     TT_OFFER        = 3,
  222.         TT_CLASS_LAST        = 4} Tt_class;
  223.  
  224. typedef enum tt_category {
  225.     TT_CATEGORY_UNDEFINED    = 0,
  226.         TT_OBSERVE        = 1,
  227.         TT_HANDLE        = 2,
  228.         TT_HANDLE_PUSH        = 3,
  229.         TT_HANDLE_ROTATE    = 4,
  230.         TT_CATEGORY_LAST    = 5} Tt_category;
  231.  
  232. typedef enum tt_address {
  233.         TT_PROCEDURE        = 0,
  234.         TT_OBJECT        = 1,
  235.     TT_HANDLER        = 2,
  236.     TT_OTYPE        = 3,
  237.         TT_ADDRESS_LAST        = 4} Tt_address;
  238.  
  239. typedef enum tt_disposition {
  240.         /* Flag bits, not enumerated values */
  241.     TT_DISCARD         = 0, /* for resetting value */
  242.         TT_QUEUE         = 1,
  243.         TT_START         = 2}  Tt_disposition;
  244.  
  245. typedef enum tt_state {
  246.         TT_CREATED        = 0,
  247.         TT_SENT            = 1,
  248.         TT_HANDLED        = 2,
  249.     TT_FAILED        = 3,
  250.     TT_QUEUED        = 4,
  251.     TT_STARTED        = 5,
  252.     TT_REJECTED        = 6,
  253.     TT_RETURNED        = 7,
  254.     TT_ACCEPTED        = 8,
  255.     TT_ABSTAINED        = 9,
  256.         TT_STATE_LAST        = 10} Tt_state;
  257. #ifndef _XENUMS_
  258.  
  259. /*
  260.  * Official properties of ToolTalk objects.
  261.  *
  262.  * ToolTalk should prevent non-root processes from setting the values
  263.  * of properties whose name begins with '_'.
  264.  *
  265.  * Integrators should prevent users from assigning arbitrary strings
  266.  * as values of properties whose name begins with '.'.  That is, "dot"
  267.  * properties are like "dot" files: their existence should normally be
  268.  * hidden from users, and the displaying and setting of their contents
  269.  * should be mediated programatically, sort of like the OpenWindows
  270.  * "props" application mediates .Xdefaults.
  271.  */
  272. #define TT_OBJECT_NAME_PROPERTY            ".Name"
  273. #define TT_OBJECT_OWNER_PROPERTY        "_Owner"
  274. #define TT_OBJECT_GROUP_PROPERTY        "_Group"
  275. #define TT_OBJECT_MODE_PROPERTY            "_Mode"
  276. #define TT_OBJECT_CREATION_DATE_PROPERTY    "_Creation_Date"
  277.  
  278. /*
  279.  * Maximum length of a spec property name
  280.  */
  281. #define TT_SPEC_PROPNAME_MAX_LEN                64
  282.  
  283. /*
  284.  * Message argument types with meaning for ToolTalk.
  285.  */
  286. #define TT_INT_MSG_ARG_TYPE                     "int"
  287. #define TT_STRING_MSG_ARG_TYPE                  "string"
  288.  
  289. /* 
  290.  * The following define opaque handles which can be type checked (as compared
  291.  * to void *).  Don't bother looking for the definitions of the structs, there
  292.  * aren't any.
  293.  */
  294. typedef struct _Tt_message_handle *Tt_message;
  295. typedef struct _Tt_pattern_handle *Tt_pattern;
  296. typedef struct _tt_AuthFileEntry  *Tt_AuthFileEntry;
  297.  
  298.  
  299. #if defined(__cplusplus) || defined(__STDC__)
  300. typedef Tt_filter_action (*Tt_filter_function)(_TT_CONST char *nodeid,
  301.                            void *context,
  302.                            void *accumulator);
  303. typedef Tt_callback_action (*Tt_message_callback) (Tt_message m,
  304.                            Tt_pattern p);
  305. #else
  306. typedef Tt_filter_action (*Tt_filter_function)();
  307. typedef Tt_callback_action (*Tt_message_callback)();
  308. #endif
  309.  
  310. #endif /* _XENUMS_ */
  311. #endif /* _XSCHEME_  _NAMES_  _EXTERN_ */
  312.  
  313. #ifndef _XENUMS_
  314.  
  315. _TT_EXTERN_FUNC(char *,tt_open,(void))
  316. _TT_EXTERN_FUNC(Tt_status,tt_close,(void))
  317. _TT_EXTERN_FUNC(char *,tt_X_session,(_TT_CONST char *xdisplay))
  318.  
  319. _TT_EXTERN_FUNC(char *,tt_default_ptype,(void))
  320. _TT_EXTERN_FUNC(Tt_status,tt_default_ptype_set,(_TT_CONST char * ptid))
  321. _TT_EXTERN_FUNC(char *,tt_default_file,(void))
  322. _TT_EXTERN_FUNC(Tt_status,tt_default_file_set,(_TT_CONST char * docid))
  323. _TT_EXTERN_FUNC(char *,tt_default_session,(void))
  324. _TT_EXTERN_FUNC(Tt_status,tt_default_session_set,(_TT_CONST char *sessid))
  325. _TT_EXTERN_FUNC(char *,tt_default_procid,(void))
  326. _TT_EXTERN_FUNC(Tt_status,tt_default_procid_set,(_TT_CONST char *procid))
  327.  
  328. _TT_EXTERN_FUNC(Tt_status,tt_file_join,(_TT_CONST char * filepath))
  329. _TT_EXTERN_FUNC(Tt_status,tt_file_quit,(_TT_CONST char * filepath))
  330. _TT_EXTERN_FUNC(Tt_status,tt_file_objects_query,
  331.                 (_TT_CONST char * filepath,
  332.                  Tt_filter_function filter,
  333.                  void *context,void *accumulator))
  334. _TT_EXTERN_FUNC(Tt_status,tt_file_move,
  335.         (_TT_CONST char *oldfilepath, _TT_CONST char *newfilepath))
  336. _TT_EXTERN_FUNC(Tt_status,tt_file_copy,
  337.         (_TT_CONST char *oldfilepath, _TT_CONST char *newfilepath))
  338. _TT_EXTERN_FUNC(Tt_status,tt_file_destroy,(_TT_CONST char * filepath))
  339.  
  340. _TT_EXTERN_FUNC(char *,tt_message_context_val,
  341.         (Tt_message m, _TT_CONST char *slotname))
  342. _TT_EXTERN_FUNC(Tt_status,tt_message_context_ival,
  343.         (Tt_message m, _TT_CONST char *slotname, int *value))
  344. _TT_EXTERN_FUNC(Tt_status,tt_message_context_bval,
  345.         (Tt_message m, _TT_CONST char *slotname,
  346.          unsigned char **value, int *len))
  347. _TT_EXTERN_FUNC(Tt_status,tt_message_context_xval,
  348.         (Tt_message m, _TT_CONST char *slotname,
  349.          xdrproc_t xdr_proc, void *value))
  350. _TT_EXTERN_FUNC(Tt_status,tt_message_context_set,
  351.         (Tt_message m, _TT_CONST char *slotname,
  352.          _TT_CONST char *value))
  353. _TT_EXTERN_FUNC(Tt_status,tt_message_icontext_set,
  354.         (Tt_message m, _TT_CONST char *slotname, int value))
  355. _TT_EXTERN_FUNC(Tt_status,tt_message_bcontext_set,
  356.         (Tt_message m, _TT_CONST char *slotname,
  357.          _TT_CONST unsigned char *value, int len))
  358. _TT_EXTERN_FUNC(Tt_status,tt_message_xcontext_set,
  359.         (Tt_message m, _TT_CONST char *slotname,
  360.          xdrproc_t xdr_proc, void *value))
  361.  
  362. _TT_EXTERN_FUNC(Tt_status,tt_context_join,
  363.         (_TT_CONST char *slotname, _TT_CONST char *value))
  364. _TT_EXTERN_FUNC(Tt_status,tt_icontext_join,
  365.         (_TT_CONST char *slotname, int value))
  366. _TT_EXTERN_FUNC(Tt_status,tt_bcontext_join,
  367.         (_TT_CONST char *slotname,
  368.          _TT_CONST unsigned char *value, int len))
  369. _TT_EXTERN_FUNC(Tt_status,tt_xcontext_join,
  370.         (_TT_CONST char *slotname,
  371.          xdrproc_t xdr_proc, void *value))
  372. _TT_EXTERN_FUNC(Tt_status,tt_context_quit,
  373.         (_TT_CONST char *slotname, _TT_CONST char *value))
  374. _TT_EXTERN_FUNC(Tt_status,tt_icontext_quit,
  375.         (_TT_CONST char *slotname, int value))
  376. _TT_EXTERN_FUNC(Tt_status,tt_bcontext_quit,
  377.         (_TT_CONST char *slotname,
  378.          _TT_CONST unsigned char *value, int len))
  379. _TT_EXTERN_FUNC(Tt_status,tt_xcontext_quit,
  380.         (_TT_CONST char *slotname,
  381.          xdrproc_t xdr_proc, void *value))
  382. _TT_EXTERN_FUNC(int,tt_message_contexts_count,(Tt_message m))
  383. _TT_EXTERN_FUNC(char *,tt_message_context_slotname,
  384.         (Tt_message m, int i))
  385.  
  386. _TT_EXTERN_FUNC(Tt_message,tt_message_create,(void))
  387. _TT_EXTERN_FUNC(Tt_message,tt_message_create_super,(Tt_message m))
  388. _TT_EXTERN_FUNC(Tt_status,tt_message_destroy,(Tt_message m))
  389.  
  390. _TT_EXTERN_FUNC(Tt_status,tt_message_send,(Tt_message m))
  391. _TT_EXTERN_FUNC(Tt_status,tt_message_send_on_exit,(Tt_message m))
  392. _TT_EXTERN_FUNC(Tt_message,tt_message_receive,(void))
  393. _TT_EXTERN_FUNC(Tt_status,tt_message_reply,(Tt_message m))
  394. _TT_EXTERN_FUNC(Tt_status,tt_message_reject,(Tt_message m))
  395. _TT_EXTERN_FUNC(Tt_status,tt_message_accept,(Tt_message m))
  396. _TT_EXTERN_FUNC(Tt_status,tt_message_fail,(Tt_message m))
  397. _TT_EXTERN_FUNC(Tt_pattern,tt_message_pattern,(Tt_message m))
  398. _TT_EXTERN_FUNC(Tt_status,tt_message_callback_add,
  399.         (Tt_message m,Tt_message_callback f))
  400.  
  401. _TT_EXTERN_FUNC(void *,tt_message_user,(Tt_message m,int key))
  402. _TT_EXTERN_FUNC(Tt_status,tt_message_user_set,(Tt_message m,int key,void *v))
  403.  
  404. _TT_EXTERN_FUNC(Tt_status,tt_message_arg_add,
  405.                 (Tt_message m,Tt_mode n,_TT_CONST char *vtype,
  406.          _TT_CONST char *value))
  407. _TT_EXTERN_FUNC(Tt_mode,tt_message_arg_mode,(Tt_message m,int n))
  408. _TT_EXTERN_FUNC(char *,tt_message_arg_type,(Tt_message m,int n))
  409. _TT_EXTERN_FUNC(char *,tt_message_arg_val,(Tt_message m,int n))
  410. _TT_EXTERN_FUNC(Tt_status,tt_message_arg_val_set,
  411.                 (Tt_message m,int n,_TT_CONST char *value))
  412. _TT_EXTERN_FUNC(Tt_status,tt_message_arg_bval,
  413.         (Tt_message m,int n,unsigned char **value,int *len))
  414. _TT_EXTERN_FUNC(Tt_status,tt_message_arg_bval_set,
  415.                 (Tt_message m,int n,_TT_CONST unsigned char *value,int len))
  416. _TT_EXTERN_FUNC(Tt_status,tt_message_barg_add,
  417.                 (Tt_message m,Tt_mode n,_TT_CONST char *vtype,
  418.          _TT_CONST unsigned char *value,int len))
  419. _TT_EXTERN_FUNC(Tt_status,tt_message_arg_ival,
  420.         (Tt_message m,int n,int *value))
  421. _TT_EXTERN_FUNC(Tt_status,tt_message_arg_ival_set,
  422.                 (Tt_message m,int n,int value))
  423. _TT_EXTERN_FUNC(Tt_status,tt_message_iarg_add,
  424.                 (Tt_message m,Tt_mode n,_TT_CONST char *vtype,int value))
  425. _TT_EXTERN_FUNC(Tt_status,tt_message_arg_xval,
  426.         (Tt_message m,int n,xdrproc_t xdr_proc, void *value))
  427. _TT_EXTERN_FUNC(Tt_status,tt_message_arg_xval_set,
  428.                 (Tt_message m,int n,xdrproc_t xdr_proc, void *value))
  429. _TT_EXTERN_FUNC(Tt_status,tt_message_xarg_add,
  430.                 (Tt_message m,Tt_mode n,_TT_CONST char *vtype,
  431.          xdrproc_t xdr_proc, void *value))
  432. _TT_EXTERN_FUNC(int,tt_message_args_count,(Tt_message m))
  433. _TT_EXTERN_FUNC(Tt_class,tt_message_class,(Tt_message m))
  434. _TT_EXTERN_FUNC(Tt_status,tt_message_class_set,
  435.                 (Tt_message m,Tt_class c))
  436. _TT_EXTERN_FUNC(char *,tt_message_file,(Tt_message m))
  437. _TT_EXTERN_FUNC(Tt_status,tt_message_file_set,
  438.         (Tt_message m,_TT_CONST char *file))
  439. _TT_EXTERN_FUNC(char *,tt_message_object,(Tt_message m))
  440. _TT_EXTERN_FUNC(Tt_status,tt_message_object_set,
  441.         (Tt_message m,_TT_CONST char *objid))
  442. _TT_EXTERN_FUNC(char *,tt_message_id,(Tt_message m))
  443. _TT_EXTERN_FUNC(char *,tt_message_op,(Tt_message m))
  444. _TT_EXTERN_FUNC(Tt_status,tt_message_op_set,
  445.         (Tt_message m,_TT_CONST char *opname))
  446. _TT_EXTERN_FUNC(int,tt_message_opnum,(Tt_message m))
  447. _TT_EXTERN_FUNC(char *,tt_message_otype,(Tt_message m))
  448. _TT_EXTERN_FUNC(Tt_status,tt_message_otype_set,
  449.         (Tt_message m,_TT_CONST char *otype))
  450. _TT_EXTERN_FUNC(Tt_address,tt_message_address,(Tt_message m))
  451. _TT_EXTERN_FUNC(Tt_status,tt_message_address_set,
  452.                 (Tt_message m,Tt_address p))
  453. _TT_EXTERN_FUNC(char *,tt_message_handler,(Tt_message m))
  454. _TT_EXTERN_FUNC(Tt_status,tt_message_handler_set,
  455.         (Tt_message m,_TT_CONST char *procid))
  456. _TT_EXTERN_FUNC(char *,tt_message_handler_ptype,(Tt_message m))
  457. _TT_EXTERN_FUNC(Tt_status,tt_message_handler_ptype_set,
  458.                 (Tt_message m,_TT_CONST char *ptid))
  459. _TT_EXTERN_FUNC(int,tt_message_accepters_count,(Tt_message m))
  460. _TT_EXTERN_FUNC(char *,tt_message_accepter,(Tt_message m,int n))
  461. _TT_EXTERN_FUNC(int,tt_message_rejecters_count,(Tt_message m))
  462. _TT_EXTERN_FUNC(char *,tt_message_rejecter,(Tt_message m,int n))
  463. _TT_EXTERN_FUNC(int,tt_message_abstainers_count,(Tt_message m))
  464. _TT_EXTERN_FUNC(char *,tt_message_abstainer,(Tt_message m,int n))
  465. _TT_EXTERN_FUNC(Tt_disposition,tt_message_disposition,(Tt_message m))
  466. _TT_EXTERN_FUNC(Tt_status,tt_message_disposition_set,
  467.                 (Tt_message m,Tt_disposition r))
  468. _TT_EXTERN_FUNC(Tt_scope,tt_message_scope,(Tt_message m))
  469. _TT_EXTERN_FUNC(Tt_status,tt_message_scope_set,(Tt_message m,Tt_scope s))
  470. _TT_EXTERN_FUNC(char *,tt_message_sender,(Tt_message m))
  471. _TT_EXTERN_FUNC(char *,tt_message_sender_ptype,(Tt_message m))
  472. _TT_EXTERN_FUNC(Tt_status,tt_message_sender_ptype_set,
  473.                 (Tt_message m,_TT_CONST char *ptid))
  474. _TT_EXTERN_FUNC(char *,tt_message_session,(Tt_message m))
  475. _TT_EXTERN_FUNC(Tt_status,tt_message_session_set,
  476.                 (Tt_message m,_TT_CONST char *sessid))
  477. _TT_EXTERN_FUNC(Tt_state,tt_message_state,(Tt_message m))
  478. _TT_EXTERN_FUNC(int,tt_message_status,(Tt_message m))
  479. _TT_EXTERN_FUNC(Tt_status,tt_message_status_set,(Tt_message m,int status))
  480. _TT_EXTERN_FUNC(char *,tt_message_status_string,(Tt_message m))
  481. _TT_EXTERN_FUNC(Tt_status,tt_message_status_string_set,
  482.         (Tt_message m,_TT_CONST char *status_str))
  483. _TT_EXTERN_FUNC(uid_t,tt_message_uid,(Tt_message m))
  484. _TT_EXTERN_FUNC(gid_t,tt_message_gid,(Tt_message m))
  485.  
  486. /* 
  487.  * The following are "macros" which provide a simpler high level
  488.  * interface to the above low level calls.
  489.  */
  490. _TT_EXTERN_FUNC(Tt_message,tt_pnotice_create,
  491.         (Tt_scope scope, _TT_CONST char *op))
  492. _TT_EXTERN_FUNC(Tt_message,tt_prequest_create,
  493.         (Tt_scope scope, _TT_CONST char *op))
  494. _TT_EXTERN_FUNC(Tt_message,tt_onotice_create,
  495.         (_TT_CONST char *objid, _TT_CONST char *op))
  496. _TT_EXTERN_FUNC(Tt_message,tt_orequest_create,
  497.         (_TT_CONST char *objid, _TT_CONST char *op))
  498.  
  499. _TT_EXTERN_FUNC(char *,tt_spec_create,(_TT_CONST char * filepath))
  500. _TT_EXTERN_FUNC(Tt_status,tt_spec_write,(_TT_CONST char * nodeid))
  501. _TT_EXTERN_FUNC(Tt_status,tt_spec_destroy,(_TT_CONST char * nodeid))
  502.  
  503. _TT_EXTERN_FUNC(char *,tt_spec_file,(_TT_CONST char * nodeid))
  504. _TT_EXTERN_FUNC(char *,tt_spec_type,(_TT_CONST char * nodeid))
  505. _TT_EXTERN_FUNC(Tt_status,tt_spec_type_set,
  506.         (_TT_CONST char * nodeid,_TT_CONST char * otid))
  507. _TT_EXTERN_FUNC(char *,tt_spec_move,
  508.         (_TT_CONST char * nodeid,_TT_CONST char * newfilepath))
  509. _TT_EXTERN_FUNC(char *,tt_spec_propname,(_TT_CONST char *nodeid,int n))
  510. _TT_EXTERN_FUNC(int,tt_spec_propnames_count,(_TT_CONST char *nodeid))
  511.  
  512.  
  513. _TT_EXTERN_FUNC(char *,tt_spec_prop,
  514.         (_TT_CONST char *nodeid,_TT_CONST char *propname,int i))
  515. _TT_EXTERN_FUNC(Tt_status,tt_spec_prop_add,
  516.                 (_TT_CONST char *nodeid,_TT_CONST char *propname,
  517.          _TT_CONST char *value))
  518. _TT_EXTERN_FUNC(int,tt_spec_prop_count,
  519.         (_TT_CONST char *nodeid,_TT_CONST char *propname))
  520. _TT_EXTERN_FUNC(Tt_status,tt_spec_prop_set,
  521.                 (_TT_CONST char *nodeid,_TT_CONST char *propname,
  522.          _TT_CONST char *value))
  523. _TT_EXTERN_FUNC(Tt_status,tt_spec_bprop,
  524.                 (_TT_CONST char *nodeid,_TT_CONST char *propname,int i,
  525.                  unsigned char **value,int *length))
  526. _TT_EXTERN_FUNC(Tt_status,tt_spec_bprop_add,
  527.                 (_TT_CONST char *nodeid,_TT_CONST char *propname,
  528.                   _TT_CONST unsigned char *value,int length))
  529. _TT_EXTERN_FUNC(Tt_status,tt_spec_bprop_set,
  530.                 (_TT_CONST char *nodeid,_TT_CONST char *propname,
  531.          _TT_CONST unsigned char *value,int length))
  532.  
  533. _TT_EXTERN_FUNC(int,tt_objid_equal,
  534.         (_TT_CONST char * nodeid1,_TT_CONST char * nodeid2))
  535. _TT_EXTERN_FUNC(char *,tt_objid_objkey,(_TT_CONST char * nodeid))
  536.  
  537. _TT_EXTERN_FUNC(int,tt_otype_deriveds_count,(_TT_CONST char *otype))
  538. _TT_EXTERN_FUNC(char *,tt_otype_derived,(_TT_CONST char *otype, int i))
  539. _TT_EXTERN_FUNC(char *,tt_otype_base,(_TT_CONST char *otype))
  540. _TT_EXTERN_FUNC(int,tt_otype_is_derived,
  541.         (_TT_CONST char *derivedotype, _TT_CONST char *baseotype))
  542. _TT_EXTERN_FUNC(int,tt_otype_osig_count,(_TT_CONST char * otype))
  543. _TT_EXTERN_FUNC(int,tt_otype_hsig_count,(_TT_CONST char * otype))
  544. _TT_EXTERN_FUNC(char *,tt_otype_osig_op,(_TT_CONST char * otype, int sig))
  545. _TT_EXTERN_FUNC(char *,tt_otype_hsig_op,(_TT_CONST char * otype, int sig))
  546. _TT_EXTERN_FUNC(int,tt_otype_osig_args_count,(_TT_CONST char * otype, int sig))
  547. _TT_EXTERN_FUNC(int,tt_otype_hsig_args_count,(_TT_CONST char * otype, int sig))
  548. _TT_EXTERN_FUNC(Tt_mode,tt_otype_osig_arg_mode,(_TT_CONST char * otype,
  549.                         int sig, int arg))
  550. _TT_EXTERN_FUNC(Tt_mode,tt_otype_hsig_arg_mode,(_TT_CONST char * otype,
  551.                         int sig, int arg))
  552. _TT_EXTERN_FUNC(char *,tt_otype_osig_arg_type,(_TT_CONST char * otype,
  553.                         int sig, int arg))
  554. _TT_EXTERN_FUNC(char *,tt_otype_hsig_arg_type,(_TT_CONST char * otype,
  555.                         int sig, int arg))
  556.  
  557. _TT_EXTERN_FUNC(Tt_pattern,tt_pattern_create,(void))
  558. _TT_EXTERN_FUNC(Tt_status,tt_pattern_destroy,(Tt_pattern p))
  559. _TT_EXTERN_FUNC(Tt_status,tt_pattern_register,(Tt_pattern p))
  560. _TT_EXTERN_FUNC(Tt_status,tt_pattern_unregister,(Tt_pattern p))
  561. _TT_EXTERN_FUNC(Tt_status,tt_pattern_callback_add,
  562.         (Tt_pattern m,Tt_message_callback f))
  563.  
  564. _TT_EXTERN_FUNC(void *,tt_pattern_user,(Tt_pattern p,int key))
  565. _TT_EXTERN_FUNC(Tt_status,tt_pattern_user_set,(Tt_pattern p,int key,void *v))
  566.  
  567. _TT_EXTERN_FUNC(Tt_category,tt_pattern_category,(Tt_pattern p))
  568. _TT_EXTERN_FUNC(Tt_status,tt_pattern_category_set,
  569.                 (Tt_pattern p,Tt_category c))
  570.  
  571. _TT_EXTERN_FUNC(Tt_status,tt_pattern_arg_add,
  572.                 (Tt_pattern p,Tt_mode n,_TT_CONST char *vtype,
  573.          _TT_CONST char *value))
  574. _TT_EXTERN_FUNC(Tt_status,tt_pattern_barg_add,
  575.                 (Tt_pattern m,Tt_mode n,_TT_CONST char *vtype,
  576.          _TT_CONST unsigned char *value,int len))
  577. _TT_EXTERN_FUNC(Tt_status,tt_pattern_iarg_add,
  578.                 (Tt_pattern m,Tt_mode n,_TT_CONST char *vtype, int value))
  579. _TT_EXTERN_FUNC(Tt_status,tt_pattern_xarg_add,
  580.                 (Tt_pattern m,Tt_mode n,_TT_CONST char *vtype,
  581.          xdrproc_t xdr_proc, void *value))
  582.  
  583. _TT_EXTERN_FUNC(Tt_status,tt_pattern_class_add,
  584.                 (Tt_pattern p,Tt_class c))
  585. _TT_EXTERN_FUNC(Tt_status,tt_pattern_file_add,
  586.         (Tt_pattern p,_TT_CONST char *file))
  587. _TT_EXTERN_FUNC(Tt_status,tt_pattern_object_add,
  588.         (Tt_pattern p,_TT_CONST char *objid))
  589. _TT_EXTERN_FUNC(Tt_status,tt_pattern_op_add,
  590.         (Tt_pattern p,_TT_CONST char *opname))
  591. _TT_EXTERN_FUNC(Tt_status,tt_pattern_opnum_add,(Tt_pattern p,int opnum))
  592. _TT_EXTERN_FUNC(Tt_status,tt_pattern_otype_add,
  593.         (Tt_pattern p,_TT_CONST char *otype))
  594. _TT_EXTERN_FUNC(Tt_status,tt_pattern_address_add,
  595.                 (Tt_pattern p,Tt_address d))
  596. _TT_EXTERN_FUNC(Tt_status,tt_pattern_disposition_add,
  597.                 (Tt_pattern p,Tt_disposition r))
  598. _TT_EXTERN_FUNC(Tt_status,tt_pattern_scope_add,(Tt_pattern p,Tt_scope s))
  599. _TT_EXTERN_FUNC(Tt_status,tt_pattern_sender_add,
  600.         (Tt_pattern p,_TT_CONST char *procid))
  601. _TT_EXTERN_FUNC(Tt_status,tt_pattern_sender_ptype_add,
  602.         (Tt_pattern p,_TT_CONST char *ptid))
  603. _TT_EXTERN_FUNC(Tt_status,tt_pattern_session_add,
  604.         (Tt_pattern p,_TT_CONST char *sessid))
  605. _TT_EXTERN_FUNC(Tt_status,tt_pattern_state_add,(Tt_pattern p,Tt_state s))
  606.  
  607. _TT_EXTERN_FUNC(Tt_status,tt_pattern_context_add,
  608.         (Tt_pattern p, _TT_CONST char *slotname,
  609.          _TT_CONST char *value))
  610. _TT_EXTERN_FUNC(Tt_status,tt_pattern_icontext_add,
  611.         (Tt_pattern p, _TT_CONST char *slotname,
  612.          int value))
  613. _TT_EXTERN_FUNC(Tt_status,tt_pattern_bcontext_add,
  614.         (Tt_pattern p, _TT_CONST char *slotname,
  615.          _TT_CONST unsigned char *value, int length))
  616. _TT_EXTERN_FUNC(Tt_status,tt_pattern_xcontext_add,
  617.         (Tt_pattern p, _TT_CONST char *slotname,
  618.          xdrproc_t xdr_proc, void *value))
  619.  
  620. _TT_EXTERN_FUNC(Tt_status,tt_ptype_declare,(_TT_CONST char * ptid))
  621. _TT_EXTERN_FUNC(Tt_status,tt_ptype_undeclare,(_TT_CONST char * ptid))
  622. _TT_EXTERN_FUNC(Tt_status,tt_ptype_exists,(_TT_CONST char * ptid))
  623. _TT_EXTERN_FUNC(Tt_status,tt_ptype_opnum_callback_add,
  624.         (_TT_CONST char * ptid, int opnum, Tt_message_callback f))
  625. _TT_EXTERN_FUNC(Tt_status,tt_otype_opnum_callback_add,
  626.         (_TT_CONST char * otid, int opnum, Tt_message_callback f))
  627.     
  628.  
  629. _TT_EXTERN_FUNC(Tt_status,tt_session_join,(_TT_CONST char * sessid))
  630. _TT_EXTERN_FUNC(Tt_status,tt_session_quit,(_TT_CONST char * sessid))
  631. _TT_EXTERN_FUNC(char *,tt_initial_session,(void))
  632.  
  633. _TT_EXTERN_FUNC(char *,tt_session_propname,(_TT_CONST char *sessid,int n))
  634. _TT_EXTERN_FUNC(int,tt_session_propnames_count,(_TT_CONST char *sessid))
  635. _TT_EXTERN_FUNC(char *,tt_session_prop,
  636.         (_TT_CONST char *sessid,_TT_CONST char *propname,int i))
  637. _TT_EXTERN_FUNC(Tt_status,tt_session_prop_add,
  638.                 (_TT_CONST char *sessid,_TT_CONST char *propname,
  639.          _TT_CONST char *value))
  640. _TT_EXTERN_FUNC(int,tt_session_prop_count,
  641.         (_TT_CONST char *sessid,_TT_CONST char *propname))
  642. _TT_EXTERN_FUNC(Tt_status,tt_session_prop_set,
  643.         (_TT_CONST char *sessid, _TT_CONST char *propname,
  644.          _TT_CONST char *value))
  645. _TT_EXTERN_FUNC(Tt_status,tt_session_bprop,
  646.         (_TT_CONST char *sessid,_TT_CONST char *propname,int i,
  647.          unsigned char **value,int *length))
  648. _TT_EXTERN_FUNC(Tt_status,tt_session_bprop_add,
  649.                 (_TT_CONST char *sessid,_TT_CONST char *propname,
  650.          _TT_CONST unsigned char *value,int length))
  651. _TT_EXTERN_FUNC(Tt_status,tt_session_bprop_set,
  652.                 (_TT_CONST char *sessid,_TT_CONST char *propname,
  653.          _TT_CONST unsigned char *value,int length))
  654. _TT_EXTERN_FUNC(Tt_status,tt_session_types_load,
  655.                 (_TT_CONST char *sessid, _TT_CONST char *filename))
  656.  
  657.  
  658. _TT_EXTERN_FUNC(int,tt_fd,(void))
  659.  
  660. _TT_EXTERN_FUNC(int,tt_mark,(void))
  661. _TT_EXTERN_FUNC(void,tt_release,(int mark))
  662. _TT_EXTERN_FUNC(caddr_t,tt_malloc,(size_t s))
  663. _TT_EXTERN_FUNC(void,tt_free,(caddr_t p))
  664.  
  665. _TT_EXTERN_FUNC(char *,tt_status_message,(Tt_status ttrc))
  666. _TT_EXTERN_FUNC(Tt_status,tt_pointer_error,(void *pointer))
  667. _TT_EXTERN_FUNC(Tt_status,tt_int_error,(int return_val))
  668.  
  669. _TT_EXTERN_FUNC(void *,tt_error_pointer,(Tt_status ttrc))
  670. _TT_EXTERN_FUNC(int,tt_error_int,(Tt_status ttrc))
  671.  
  672. _TT_EXTERN_FUNC(int,tt_trace_control,(int onoff))
  673.  
  674. _TT_EXTERN_FUNC(char *,tt_message_print,(Tt_message m))
  675. _TT_EXTERN_FUNC(char *,tt_pattern_print,(Tt_pattern p))
  676.  
  677. _TT_EXTERN_FUNC(char *,tt_file_netfile, (const char *filename))
  678. _TT_EXTERN_FUNC(char *,tt_netfile_file, (const char *netfilename))
  679.  
  680. _TT_EXTERN_FUNC(char *,tt_host_file_netfile, (const char * host, const char * filename))
  681. _TT_EXTERN_FUNC(char *,tt_host_netfile_file, (const char * host, const char * netfilename))
  682.  
  683. _TT_EXTERN_FUNC(char*, tt_AuthFileName, (void))
  684. _TT_EXTERN_FUNC(int, tt_LockAuthFile, (char*, int, int, long))
  685. _TT_EXTERN_FUNC(void, tt_UnlockAuthFile, (char*))
  686. _TT_EXTERN_FUNC(Tt_AuthFileEntry, tt_ReadAuthFileEntry, (FILE*))
  687. _TT_EXTERN_FUNC(void, tt_FreeAuthFileEntry, (Tt_AuthFileEntry))
  688. _TT_EXTERN_FUNC(int, tt_WriteAuthFileEntry, (FILE*, Tt_AuthFileEntry))
  689. _TT_EXTERN_FUNC(Tt_AuthFileEntry, tt_GetAuthFileEntry, (char*, char*, char*))
  690. _TT_EXTERN_FUNC(char*, tt_GenerateMagicCookie, (int))    
  691.  
  692. /* The following api function(s) are optional and may not be present
  693.  * in older versions of the tooltalk developer libraries
  694.  */
  695.  
  696. #pragma optional tt_AuthFileName
  697. #pragma optional tt_FreeAuthFileEntry
  698. #pragma optional tt_GenerateMagicCookie
  699. #pragma optional tt_GetAuthFileEntry   
  700. #pragma optional tt_LockAuthFile
  701. #pragma optional tt_ReadAuthFileEntry
  702. #pragma optional tt_UnlockAuthFile   
  703. #pragma optional tt_WriteAuthFileEntry
  704. #pragma optional tt_bcontext_join
  705. #pragma optional tt_bcontext_quit
  706. #pragma optional tt_context_join
  707. #pragma optional tt_context_quit
  708. #pragma optional tt_file_netfile
  709. #pragma optional tt_host_file_netfile
  710. #pragma optional tt_host_netfile_file
  711. #pragma optional tt_icontext_join
  712. #pragma optional tt_icontext_quit
  713. #pragma optional tt_netfile_file
  714. #pragma optional tt_message_abstainer
  715. #pragma optional tt_message_abstainers_count
  716. #pragma optional tt_message_accept
  717. #pragma optional tt_message_accepter
  718. #pragma optional tt_message_accepters_count
  719. #pragma optional tt_message_arg_xval
  720. #pragma optional tt_message_arg_xval_set
  721. #pragma optional tt_message_bcontext_set
  722. #pragma optional tt_message_context_bval
  723. #pragma optional tt_message_context_ival
  724. #pragma optional tt_message_context_set
  725. #pragma optional tt_message_context_slotname
  726. #pragma optional tt_message_context_val
  727. #pragma optional tt_message_context_xval
  728. #pragma optional tt_message_contexts_count
  729. #pragma optional tt_message_icontext_set
  730. #pragma optional tt_message_id
  731. #pragma optional tt_message_print
  732. #pragma optional tt_message_rejecter
  733. #pragma optional tt_message_rejecters_count
  734. #pragma optional tt_message_send_on_exit
  735. #pragma optional tt_message_xarg_add
  736. #pragma optional tt_message_xcontext_set
  737. #pragma optional tt_otype_opnum_callback_add
  738. #pragma optional tt_pattern_bcontext_add
  739. #pragma optional tt_pattern_context_add
  740. #pragma optional tt_pattern_icontext_add
  741. #pragma optional tt_pattern_print
  742. #pragma optional tt_pattern_xarg_add
  743. #pragma optional tt_pattern_xcontext_add
  744. #pragma optional tt_ptype_exists
  745. #pragma optional tt_ptype_opnum_callback_add
  746. #pragma optional tt_ptype_undeclare
  747. #pragma optional tt_session_types_load
  748. #pragma optional tt_trace_control
  749. #pragma optional tt_xcontext_join
  750. #pragma optional tt_xcontext_quit
  751.  
  752. #endif /* _XENUMS_ */
  753.  
  754. #define tt_ptr_error(p) tt_pointer_error((void *)(p))
  755. #define tt_is_err(p) (TT_WRN_LAST < (p))
  756. #undef _TT_EXTERN_FUNC
  757. #undef _TT_CONST
  758. #endif
  759.